package com.first.common.pojo;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
* 
* @TableName tb_bottom_article
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "底部文章")
@TableName(value = "tb_bottom_article")
public class TbBottomArticle implements Serializable {

    /**
    * 主键
    */
    @ApiModelProperty("主键")
    private String id;
    /**
    * 导航名称
    */
    @ApiModelProperty("导航名称")
    private String name;
    /**
    * 启用状态
    */
    @ApiModelProperty("启用状态")
    @TableField(value = "is_disable")
    private Integer isDisable;
    /**
    * 逻辑删除
    */
    @ApiModelProperty("逻辑删除")
    @TableField(value = "is_deleted")
    private Integer isDeleted;
    /**
    * 父类id
    */
    @ApiModelProperty("父类id")
    @TableField(value = "parent_id")
    private String parentId;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    @TableField(value = "gmt_create")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    private LocalDateTime gmtCreate;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    @TableField(value = "gmt_modified")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    private LocalDateTime gmtModified;

    @TableField(exist = false)
    List<TbBottomArticle> children;
}
